package com.hashTable;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class FindAllAnagramsinaString0130_438 {
    public List<Integer> findAnagrams(String s, String p) {
        ArrayList<Integer> res = new ArrayList<>();
        int sn = s.length(), pn = p.length();
        if(sn < pn) return res;
        int[] snt = new int[26];
        int[] pnt = new int[26];
        for (int i = 0; i < pn; i++) {
            snt[s.charAt(i) - 'a']++;
            pnt[p.charAt(i) - 'a']++;
        }
        if(Arrays.equals(snt,pnt)) res.add(0);

        for (int i = pn; i < sn; i++) {
            snt[s.charAt(i - pn) - 'a']--;
            snt[s.charAt(i) - 'a']++;
            if(Arrays.equals(snt,pnt)) res.add(i-pn+1);
        }
        return res;
    }
}
